Skip to content

fix(desktop): tables follow RTL message direction - #47911

Open
Adolanium wants to merge 1 commit into
NousResearch:mainfrom
Adolanium:fix/desktop-rtl-table-direction
Open

Adolanium wants to merge 1 commit into
NousResearch:mainfrom
Adolanium:fix/desktop-rtl-table-direction

Conversation

@Adolanium

@Adolanium Adolanium commented Jun 17, 2026 •

Copy link
Copy Markdown
Contributor

Let markdown tables resolve their direction from their content, with cell alignment following the table. Apply the change to the current resizable-table component so column dragging and persisted widths remain intact.

Validation: Both desktop renderer tests and TypeScript checking passed. A headless Chromium check rendered the real component and stylesheet, verified Hebrew/English direction, column order and cell alignment, and exercised RTL column dragging.

Updated on the refactored main at 1ab32b2, with the repair folded into one commit.

@alt-glitch alt-glitch added type/bug Something isn't working comp/tui Terminal UI (ui-tui/ + tui_gateway/) P3 Low — cosmetic, nice to have labels Jun 17, 2026
@Adolanium
Adolanium force-pushed the fix/desktop-rtl-table-direction branch 2 times, most recently from 6a71dd6 to 6b1d2c1 Compare June 17, 2026 15:28
@alt-glitch alt-glitch added comp/desktop Electron desktop app (apps/desktop/*) and removed comp/tui Terminal UI (ui-tui/ + tui_gateway/) labels Jun 26, 2026
@teknium1 teknium1 added sweeper:risk-compatibility Sweeper risk: may break existing users, config, migrations, defaults, or upgrades sweeper:blast-moderate Sweeper blast radius: moderate — a subsystem or single platform labels Jul 14, 2026
Markdown tables were left out of the bidi work from NousResearch#44596: an RTL table
(Hebrew, Arabic, ...) kept LTR column order with headers and cells pinned
to the left, because the plaintext rules only cover prose blocks and the
th was hardcoded text-left.

Hang dir="auto" on the table so the browser resolves column order and a
single base direction from the cells' content, in practice the column
headers (a box-direction property unicode-bidi:plaintext cannot set and
no CSS selector can read off the script). Cells then get
unicode-bidi:plaintext so a value like "-3%" or "123 units" keeps its
authored order instead of being reordered by the surrounding RTL run,
and text-align is pinned to the table's resolved edge via :dir() so a
column's header and values stay on the same side. English tables are
unchanged.
@Adolanium
Adolanium force-pushed the fix/desktop-rtl-table-direction branch from 6b1d2c1 to 4168242 Compare September 14, 2026 23:57
@Adolanium

Copy link
Copy Markdown
Contributor Author

I updated this on the refactored main and pushed 4168242 as one commit. I moved the fix onto the refactored resizable-table component and verified it in Chromium. Hebrew and English tables resolve correctly, and RTL resizing still works.

Both desktop renderer tests and TypeScript checking passed. A headless Chromium check rendered the real component and stylesheet, verified Hebrew/English direction, column order and cell alignment, and exercised RTL column dragging.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp/desktop Electron desktop app (apps/desktop/*) P3 Low — cosmetic, nice to have sweeper:blast-moderate Sweeper blast radius: moderate — a subsystem or single platform sweeper:risk-compatibility Sweeper risk: may break existing users, config, migrations, defaults, or upgrades type/bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants